package com.honestpeak.datafusion.mapper;

import java.util.List;

import com.honestpeak.datafusion.model.*;
import org.apache.ibatis.annotations.Param;

/**
 * @Auther: apple
 * @Date: 2018/8/16 14:35
 * @Description: 俱乐部会员人员分布
 */
public interface ClubMemberDistMapper {

    /**
     * 根据学年查询俱乐部人员分布
     * @param year
     * @return
     */
    List<ClubMemberDist> getClubMemberDistByYear(String year);

	List<ClubMemberDist> getClubMemberNumByYear(String year);

	List<YearTerm> getYearTermInfo();

	List<ClubMemberDist> getClubYearNumByYear(@Param("year")String year, @Param("clubName")String clubName);

	/**
	 * 学生班级数据中 班级各俱乐部人数分布
	 * @param departId 院系Id
	 * @param claId 班级Id
	 * @param yearTermId 学年学期Id
	 * @return
	 */
	List<BaseModel> getClubSizeDistribution(@Param("departId") Long departId, @Param("claId") Long claId, @Param("yearTermId") Long yearTermId);

	List<String> getClubInfo();

	List<String> getClubAllInfoById(Long clubId);

	/**
	 * 根据院系名称查询人数
	 * @param name
	 * @param year
	 * @return
	 */
	BaseModel getDepartActiveCount(@Param("name") String name, @Param("year") String year);

	/**
	 * 查询所有院系
	 * @return
	 */
	List<String> getAllDepartmentNameList();
	
	ClubMemberDist getMonthNumByYear(@Param("month")Integer month, @Param("year")String year);

	List<ClubMemberDist> getMonthActiveByYear(@Param("list")List<Integer> monthList, @Param("year")String year, @Param("clubName")String clubName);

	ScoreModel getClassNumScore(@Param("departId")Long departId, @Param("claId")Long claId, @Param("yearTermId")Long yearTermId, @Param("score")String score);

	/**
	 * 每周俱乐部活动人数
	 * @return
	 */
	List<ClubSignInfo> getClubSignInfo();
	
	SignModel getSignSecondNum(@Param("yearTermId")Long yearTermId, @Param("studentNo")String studentNo, @Param("month")Integer month);
}
